<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>create_data_code_2d_model [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_identification.html">Identification</a> / <a href="toc_identification_datacode.html">Data Code</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">create_data_code_2d_model</span><span data-if="c" style="display:none;">T_create_data_code_2d_model</span><span data-if="cpp" style="display:none;">CreateDataCode2dModel</span><span data-if="dotnet" style="display:none;">CreateDataCode2dModel</span><span data-if="python" style="display:none;">create_data_code_2d_model</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">create_data_code_2d_model</span><span data-if="c" style="display:none;">T_create_data_code_2d_model</span><span data-if="cpp" style="display:none;">CreateDataCode2dModel</span><span data-if="dotnet" style="display:none;">CreateDataCode2dModel</span><span data-if="python" style="display:none;">create_data_code_2d_model</span></code> — Create a model of a 2D data code class.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>create_data_code_2d_model</b>( :  : <a href="#SymbolType"><i>SymbolType</i></a>, <a href="#GenParamName"><i>GenParamName</i></a>, <a href="#GenParamValue"><i>GenParamValue</i></a> : <a href="#DataCodeHandle"><i>DataCodeHandle</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_create_data_code_2d_model</b>(const Htuple <a href="#SymbolType"><i>SymbolType</i></a>, const Htuple <a href="#GenParamName"><i>GenParamName</i></a>, const Htuple <a href="#GenParamValue"><i>GenParamValue</i></a>, Htuple* <a href="#DataCodeHandle"><i>DataCodeHandle</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>CreateDataCode2dModel</b>(const HTuple&amp; <a href="#SymbolType"><i>SymbolType</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HTuple* <a href="#DataCodeHandle"><i>DataCodeHandle</i></a>)</code></p>
<p>
<code>void <a href="HDataCode2D.html">HDataCode2D</a>::<b>HDataCode2D</b>(const HString&amp; <a href="#SymbolType"><i>SymbolType</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
<p>
<code>void <a href="HDataCode2D.html">HDataCode2D</a>::<b>HDataCode2D</b>(const HString&amp; <a href="#SymbolType"><i>SymbolType</i></a>, const HString&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HString&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
<p>
<code>void <a href="HDataCode2D.html">HDataCode2D</a>::<b>HDataCode2D</b>(const char* <a href="#SymbolType"><i>SymbolType</i></a>, const char* <a href="#GenParamName"><i>GenParamName</i></a>, const char* <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
<p>
<code>void <a href="HDataCode2D.html">HDataCode2D</a>::<b>HDataCode2D</b>(const wchar_t* <a href="#SymbolType"><i>SymbolType</i></a>, const wchar_t* <a href="#GenParamName"><i>GenParamName</i></a>, const wchar_t* <a href="#GenParamValue"><i>GenParamValue</i></a>)  <span class="signnote">
            (
            Windows only)
          </span></code></p>
<p>
<code>void <a href="HDataCode2D.html">HDataCode2D</a>::<b>CreateDataCode2dModel</b>(const HString&amp; <a href="#SymbolType"><i>SymbolType</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
<p>
<code>void <a href="HDataCode2D.html">HDataCode2D</a>::<b>CreateDataCode2dModel</b>(const HString&amp; <a href="#SymbolType"><i>SymbolType</i></a>, const HString&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HString&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
<p>
<code>void <a href="HDataCode2D.html">HDataCode2D</a>::<b>CreateDataCode2dModel</b>(const char* <a href="#SymbolType"><i>SymbolType</i></a>, const char* <a href="#GenParamName"><i>GenParamName</i></a>, const char* <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
<p>
<code>void <a href="HDataCode2D.html">HDataCode2D</a>::<b>CreateDataCode2dModel</b>(const wchar_t* <a href="#SymbolType"><i>SymbolType</i></a>, const wchar_t* <a href="#GenParamName"><i>GenParamName</i></a>, const wchar_t* <a href="#GenParamValue"><i>GenParamValue</i></a>)  <span class="signnote">
            (
            Windows only)
          </span></code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>CreateDataCode2dModel</b>(<a href="HTuple.html">HTuple</a> <a href="#SymbolType"><i>symbolType</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#DataCodeHandle"><i>dataCodeHandle</i></a>)</code></p>
<p>
<code>public <a href="HDataCode2D.html">HDataCode2D</a>(string <a href="#SymbolType"><i>symbolType</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
<p>
<code>public <a href="HDataCode2D.html">HDataCode2D</a>(string <a href="#SymbolType"><i>symbolType</i></a>, string <a href="#GenParamName"><i>genParamName</i></a>, string <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
<p>
<code>void <a href="HDataCode2D.html">HDataCode2D</a>.<b>CreateDataCode2dModel</b>(string <a href="#SymbolType"><i>symbolType</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
<p>
<code>void <a href="HDataCode2D.html">HDataCode2D</a>.<b>CreateDataCode2dModel</b>(string <a href="#SymbolType"><i>symbolType</i></a>, string <a href="#GenParamName"><i>genParamName</i></a>, string <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>create_data_code_2d_model</b>(<a href="#SymbolType"><i>symbol_type</i></a>: str, <a href="#GenParamName"><i>gen_param_name</i></a>: MaybeSequence[str], <a href="#GenParamValue"><i>gen_param_value</i></a>: MaybeSequence[Union[int, str, float]]) -&gt; HHandle</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">create_data_code_2d_model</span><span data-if="c" style="display:none">create_data_code_2d_model</span><span data-if="cpp" style="display:none">CreateDataCode2dModel</span><span data-if="com" style="display:none">CreateDataCode2dModel</span><span data-if="dotnet" style="display:none">CreateDataCode2dModel</span><span data-if="python" style="display:none">create_data_code_2d_model</span></code> creates a
model for a certain class of 2D data codes.
In <a href="#DataCodeHandle"><i><code><span data-if="hdevelop" style="display:inline">DataCodeHandle</span><span data-if="c" style="display:none">DataCodeHandle</span><span data-if="cpp" style="display:none">DataCodeHandle</span><span data-if="com" style="display:none">DataCodeHandle</span><span data-if="dotnet" style="display:none">dataCodeHandle</span><span data-if="python" style="display:none">data_code_handle</span></code></i></a> 该算子 returns a handle to the 2D
data code model, which is used for all further operations on the
data code, like modifying the model, reading a symbol, or accessing
the results of the symbol search.
</p>
<p>For an explanation of the concept of the 2D data code reader
see the introduction of chapter <a href="toc_identification_datacode.html">Identification / Data Code</a>.
</p>
<p><b>Supported symbol types</b>
</p>
<p>The parameter <a href="#SymbolType"><i><code><span data-if="hdevelop" style="display:inline">SymbolType</span><span data-if="c" style="display:none">SymbolType</span><span data-if="cpp" style="display:none">SymbolType</span><span data-if="com" style="display:none">SymbolType</span><span data-if="dotnet" style="display:none">symbolType</span><span data-if="python" style="display:none">symbol_type</span></code></i></a> is used to determine the type of
data codes to process.
Presently, six main types are supported:
<i><span data-if="hdevelop" style="display:inline">'Data Matrix ECC 200'</span><span data-if="c" style="display:none">"Data Matrix ECC 200"</span><span data-if="cpp" style="display:none">"Data Matrix ECC 200"</span><span data-if="com" style="display:none">"Data Matrix ECC 200"</span><span data-if="dotnet" style="display:none">"Data Matrix ECC 200"</span><span data-if="python" style="display:none">"Data Matrix ECC 200"</span></i>, <i><span data-if="hdevelop" style="display:inline">'QR Code'</span><span data-if="c" style="display:none">"QR Code"</span><span data-if="cpp" style="display:none">"QR Code"</span><span data-if="com" style="display:none">"QR Code"</span><span data-if="dotnet" style="display:none">"QR Code"</span><span data-if="python" style="display:none">"QR Code"</span></i>, <i><span data-if="hdevelop" style="display:inline">'Micro QR Code'</span><span data-if="c" style="display:none">"Micro QR Code"</span><span data-if="cpp" style="display:none">"Micro QR Code"</span><span data-if="com" style="display:none">"Micro QR Code"</span><span data-if="dotnet" style="display:none">"Micro QR Code"</span><span data-if="python" style="display:none">"Micro QR Code"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'PDF417'</span><span data-if="c" style="display:none">"PDF417"</span><span data-if="cpp" style="display:none">"PDF417"</span><span data-if="com" style="display:none">"PDF417"</span><span data-if="dotnet" style="display:none">"PDF417"</span><span data-if="python" style="display:none">"PDF417"</span></i>, <i><span data-if="hdevelop" style="display:inline">'Aztec Code'</span><span data-if="c" style="display:none">"Aztec Code"</span><span data-if="cpp" style="display:none">"Aztec Code"</span><span data-if="com" style="display:none">"Aztec Code"</span><span data-if="dotnet" style="display:none">"Aztec Code"</span><span data-if="python" style="display:none">"Aztec Code"</span></i>, and <i><span data-if="hdevelop" style="display:inline">'DotCode'</span><span data-if="c" style="display:none">"DotCode"</span><span data-if="cpp" style="display:none">"DotCode"</span><span data-if="com" style="display:none">"DotCode"</span><span data-if="dotnet" style="display:none">"DotCode"</span><span data-if="python" style="display:none">"DotCode"</span></i>.
Additionally, four GS1 types are supported:
<i><span data-if="hdevelop" style="display:inline">'GS1 DataMatrix'</span><span data-if="c" style="display:none">"GS1 DataMatrix"</span><span data-if="cpp" style="display:none">"GS1 DataMatrix"</span><span data-if="com" style="display:none">"GS1 DataMatrix"</span><span data-if="dotnet" style="display:none">"GS1 DataMatrix"</span><span data-if="python" style="display:none">"GS1 DataMatrix"</span></i>, <i><span data-if="hdevelop" style="display:inline">'GS1 QR Code'</span><span data-if="c" style="display:none">"GS1 QR Code"</span><span data-if="cpp" style="display:none">"GS1 QR Code"</span><span data-if="com" style="display:none">"GS1 QR Code"</span><span data-if="dotnet" style="display:none">"GS1 QR Code"</span><span data-if="python" style="display:none">"GS1 QR Code"</span></i>,<i><span data-if="hdevelop" style="display:inline">'GS1 Aztec'</span><span data-if="c" style="display:none">"GS1 Aztec"</span><span data-if="cpp" style="display:none">"GS1 Aztec"</span><span data-if="com" style="display:none">"GS1 Aztec"</span><span data-if="dotnet" style="display:none">"GS1 Aztec"</span><span data-if="python" style="display:none">"GS1 Aztec"</span></i>,
and <i><span data-if="hdevelop" style="display:inline">'GS1 DotCode'</span><span data-if="c" style="display:none">"GS1 DotCode"</span><span data-if="cpp" style="display:none">"GS1 DotCode"</span><span data-if="com" style="display:none">"GS1 DotCode"</span><span data-if="dotnet" style="display:none">"GS1 DotCode"</span><span data-if="python" style="display:none">"GS1 DotCode"</span></i>.
Data matrix codes of type ECC 000-140 are not supported.
For the QR Code the older Model 1 as well as the new Model
2 can be read. The PDF417 can be read in its conventional as well
as in its compact form ('Compact/Truncated PDF417'). The Aztec code can
be read in compact, full-range, and rune (see Annex E of
ISO/IEC 24778:2008 (E)) form.
The structure of the four GS1 symbologies is basically identical to
their non-GS1 counterparts - Data Matrix ECC 200, QR Code Aztec Code,
and DotCode, respectively.
In the following, all parameters, settings, and rules
applying to any particular data code type apply to its GS1 variant
as well. The GS1 symbologies enforce merely additional rules for the
format of the data carried by the codes. It has to be organized in so
called GS1 application element strings according to the GS1 General
Specifications.
To update the list of available GS1 Application Identifiers,
see the parameter <i><span data-if="hdevelop" style="display:inline">'gs1_syntax_dictionary'</span><span data-if="c" style="display:none">"gs1_syntax_dictionary"</span><span data-if="cpp" style="display:none">"gs1_syntax_dictionary"</span><span data-if="com" style="display:none">"gs1_syntax_dictionary"</span><span data-if="dotnet" style="display:none">"gs1_syntax_dictionary"</span><span data-if="python" style="display:none">"gs1_syntax_dictionary"</span></i> in <a href="set_system.html"><code><span data-if="hdevelop" style="display:inline">set_system</span><span data-if="c" style="display:none">set_system</span><span data-if="cpp" style="display:none">SetSystem</span><span data-if="com" style="display:none">SetSystem</span><span data-if="dotnet" style="display:none">SetSystem</span><span data-if="python" style="display:none">set_system</span></code></a>.
</p>
<p>For all symbol types, the data code reader supports the Extended Channel
Interpretation (ECI) protocol.  If the symbol contains an ECI code,
all characters with ASCII code 92 (backslash,
<i><span data-if="hdevelop" style="display:inline">'\'</span><span data-if="c" style="display:none">"\"</span><span data-if="cpp" style="display:none">"\"</span><span data-if="com" style="display:none">"\"</span><span data-if="dotnet" style="display:none">"\"</span><span data-if="python" style="display:none">"\"</span></i>) that occur in the normal data
stream are, in compliance with the standard, doubled
(<i><span data-if="hdevelop" style="display:inline">'\\'</span><span data-if="c" style="display:none">"\\"</span><span data-if="cpp" style="display:none">"\\"</span><span data-if="com" style="display:none">"\\"</span><span data-if="dotnet" style="display:none">"\\"</span><span data-if="python" style="display:none">"\\"</span></i>) for the output.
This is necessary in order to distinguish data backslashes from the ECI
sequence <i><span data-if="hdevelop" style="display:inline">'\nnnnnn'</span><span data-if="c" style="display:none">"\nnnnnn"</span><span data-if="cpp" style="display:none">"\nnnnnn"</span><span data-if="com" style="display:none">"\nnnnnn"</span><span data-if="dotnet" style="display:none">"\nnnnnn"</span><span data-if="python" style="display:none">"\nnnnnn"</span></i>.
</p>
<p>The information whether the symbol contains ECI codes (and consequently
doubled backslashes) or not is stored in the Symbology Identifier number
that can be obtained for every successfully decoded symbol with the help of
该算子 <a href="get_data_code_2d_results.html"><code><span data-if="hdevelop" style="display:inline">get_data_code_2d_results</span><span data-if="c" style="display:none">get_data_code_2d_results</span><span data-if="cpp" style="display:none">GetDataCode2dResults</span><span data-if="com" style="display:none">GetDataCode2dResults</span><span data-if="dotnet" style="display:none">GetDataCode2dResults</span><span data-if="python" style="display:none">get_data_code_2d_results</span></code></a> passing the generic parameter
<i><span data-if="hdevelop" style="display:inline">'symbology_ident'</span><span data-if="c" style="display:none">"symbology_ident"</span><span data-if="cpp" style="display:none">"symbology_ident"</span><span data-if="com" style="display:none">"symbology_ident"</span><span data-if="dotnet" style="display:none">"symbology_ident"</span><span data-if="python" style="display:none">"symbology_ident"</span></i>.  How the code number encodes additional
information about the symbology and the data code reader, like the ECI
support, is defined in the different symbology specifications.
For more information see the corresponding standards and 该算子
<a href="get_data_code_2d_results.html"><code><span data-if="hdevelop" style="display:inline">get_data_code_2d_results</span><span data-if="c" style="display:none">get_data_code_2d_results</span><span data-if="cpp" style="display:none">GetDataCode2dResults</span><span data-if="com" style="display:none">GetDataCode2dResults</span><span data-if="dotnet" style="display:none">GetDataCode2dResults</span><span data-if="python" style="display:none">get_data_code_2d_results</span></code></a>.
</p>
<p>The Symbology Indentifier code will not be preceded by the data code reader
to the output data, even if the symbol contains an ECI code.
If this is needed, e.g., by a subsequent processing unit, the
<i><span data-if="hdevelop" style="display:inline">'symbology_ident'</span><span data-if="c" style="display:none">"symbology_ident"</span><span data-if="cpp" style="display:none">"symbology_ident"</span><span data-if="com" style="display:none">"symbology_ident"</span><span data-if="dotnet" style="display:none">"symbology_ident"</span><span data-if="python" style="display:none">"symbology_ident"</span></i> number (obtained by 该算子
<a href="get_data_code_2d_results.html"><code><span data-if="hdevelop" style="display:inline">get_data_code_2d_results</span><span data-if="c" style="display:none">get_data_code_2d_results</span><span data-if="cpp" style="display:none">GetDataCode2dResults</span><span data-if="com" style="display:none">GetDataCode2dResults</span><span data-if="dotnet" style="display:none">GetDataCode2dResults</span><span data-if="python" style="display:none">get_data_code_2d_results</span></code></a> with the parameter
<i><span data-if="hdevelop" style="display:inline">'symbology_ident'</span><span data-if="c" style="display:none">"symbology_ident"</span><span data-if="cpp" style="display:none">"symbology_ident"</span><span data-if="com" style="display:none">"symbology_ident"</span><span data-if="dotnet" style="display:none">"symbology_ident"</span><span data-if="python" style="display:none">"symbology_ident"</span></i>) can be added to the data stream manually
together with the symbology flag and the symbol code: ']d', ']Q', ']L',
']z', or ']J' for DataMatrix codes, QR Codes, PDF417 Codes, Aztec Codes,
or DotCodes, respectively. In particular, for GS1 symbologies the parameter
<i><span data-if="hdevelop" style="display:inline">'symbology_ident'</span><span data-if="c" style="display:none">"symbology_ident"</span><span data-if="cpp" style="display:none">"symbology_ident"</span><span data-if="com" style="display:none">"symbology_ident"</span><span data-if="dotnet" style="display:none">"symbology_ident"</span><span data-if="python" style="display:none">"symbology_ident"</span></i> returns 2 for GS1 DataMatrix, 3 for GS1 QR
Code, and 1 for GS1 Aztec Code and GS1 DotCode.
This corresponds to symbol codes:
']d2', ']Q3', ']z1', and ']J1', respectively.
</p>
<p><b>Standard default settings of the data code model</b>
</p>
<p>The default settings of the model were chosen to read a
wide range of common symbols within a reasonable amount of time.
However, for run-time reasons some restrictions apply to the symbol
(see the following table).
If the model was modified (as described later), it is at any time
possible to reset it to these default settings by passing the generic
parameter <i><span data-if="hdevelop" style="display:inline">'default_parameters'</span><span data-if="c" style="display:none">"default_parameters"</span><span data-if="cpp" style="display:none">"default_parameters"</span><span data-if="com" style="display:none">"default_parameters"</span><span data-if="dotnet" style="display:none">"default_parameters"</span><span data-if="python" style="display:none">"default_parameters"</span></i> together with the value
<i><span data-if="hdevelop" style="display:inline">'standard_recognition'</span><span data-if="c" style="display:none">"standard_recognition"</span><span data-if="cpp" style="display:none">"standard_recognition"</span><span data-if="com" style="display:none">"standard_recognition"</span><span data-if="dotnet" style="display:none">"standard_recognition"</span><span data-if="python" style="display:none">"standard_recognition"</span></i> to 该算子
<a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a>.
</p>
<p>For some model parameters the default values depend on the chosen recognition
approach. Those parameters are listed in the table below.
Further parameter details and the remaining model parameters can be found in
the reference of <a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a>.
</p>
<div style="text-align:center"><table style="width:99%;margin-left:auto;margin-right:auto" class="grid">
<col span="1" style="width:30%;">
<col span="1" style="width:23%;">
<col span="1" style="width:23%;">
<col span="1" style="width:23%;">
<tr>
<td style="text-align:left">
Model parameter  </td>
<td style="text-align:left"> <i><span data-if="hdevelop" style="display:inline">'standard_recognition'</span><span data-if="c" style="display:none">"standard_recognition"</span><span data-if="cpp" style="display:none">"standard_recognition"</span><span data-if="com" style="display:none">"standard_recognition"</span><span data-if="dotnet" style="display:none">"standard_recognition"</span><span data-if="python" style="display:none">"standard_recognition"</span></i> </td>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'enhanced_recognition'</span><span data-if="c" style="display:none">"enhanced_recognition"</span><span data-if="cpp" style="display:none">"enhanced_recognition"</span><span data-if="com" style="display:none">"enhanced_recognition"</span><span data-if="dotnet" style="display:none">"enhanced_recognition"</span><span data-if="python" style="display:none">"enhanced_recognition"</span></i> </td>
<td style="text-align:left"> <i><span data-if="hdevelop" style="display:inline">'maximum_recognition'</span><span data-if="c" style="display:none">"maximum_recognition"</span><span data-if="cpp" style="display:none">"maximum_recognition"</span><span data-if="com" style="display:none">"maximum_recognition"</span><span data-if="dotnet" style="display:none">"maximum_recognition"</span><span data-if="python" style="display:none">"maximum_recognition"</span></i> </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'polarity'</span><span data-if="c" style="display:none">"polarity"</span><span data-if="cpp" style="display:none">"polarity"</span><span data-if="com" style="display:none">"polarity"</span><span data-if="dotnet" style="display:none">"polarity"</span><span data-if="python" style="display:none">"polarity"</span></i> </td>
<td style="text-align:left"> 'dark_on_light' (dark symbols on a light background) </td>
<td style="text-align:left">
'any' (dark symbols on a light background and vice versa) </td>
<td style="text-align:left">
'any' (dark symbols on a light background and vice versa) </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'contrast_min'</span><span data-if="c" style="display:none">"contrast_min"</span><span data-if="cpp" style="display:none">"contrast_min"</span><span data-if="com" style="display:none">"contrast_min"</span><span data-if="dotnet" style="display:none">"contrast_min"</span><span data-if="python" style="display:none">"contrast_min"</span></i> (Aztec Code, Micro QR Code, QR Code, PDF417)
</td>
<td style="text-align:left"> 30 </td>
<td style="text-align:left"> 10 </td>
<td style="text-align:left"> 10 </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'symbol_cols_min'</span><span data-if="c" style="display:none">"symbol_cols_min"</span><span data-if="cpp" style="display:none">"symbol_cols_min"</span><span data-if="com" style="display:none">"symbol_cols_min"</span><span data-if="dotnet" style="display:none">"symbol_cols_min"</span><span data-if="python" style="display:none">"symbol_cols_min"</span></i>, <i><span data-if="hdevelop" style="display:inline">'symbol_cols_max'</span><span data-if="c" style="display:none">"symbol_cols_max"</span><span data-if="cpp" style="display:none">"symbol_cols_max"</span><span data-if="com" style="display:none">"symbol_cols_max"</span><span data-if="dotnet" style="display:none">"symbol_cols_max"</span><span data-if="python" style="display:none">"symbol_cols_max"</span></i> (PDF417)
</td>
<td style="text-align:left"> 1 ... 20 </td>
<td style="text-align:left"> 1 ... 30 </td>
<td style="text-align:left"> 1 ... 30 </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'symbol_rows_min'</span><span data-if="c" style="display:none">"symbol_rows_min"</span><span data-if="cpp" style="display:none">"symbol_rows_min"</span><span data-if="com" style="display:none">"symbol_rows_min"</span><span data-if="dotnet" style="display:none">"symbol_rows_min"</span><span data-if="python" style="display:none">"symbol_rows_min"</span></i>, <i><span data-if="hdevelop" style="display:inline">'symbol_rows_max'</span><span data-if="c" style="display:none">"symbol_rows_max"</span><span data-if="cpp" style="display:none">"symbol_rows_max"</span><span data-if="com" style="display:none">"symbol_rows_max"</span><span data-if="dotnet" style="display:none">"symbol_rows_max"</span><span data-if="python" style="display:none">"symbol_rows_max"</span></i> (PDF417)
</td>
<td style="text-align:left"> 5 ... 45 </td>
<td style="text-align:left"> 3 ... 90 </td>
<td style="text-align:left"> 3 ... 90 </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'module_size_min'</span><span data-if="c" style="display:none">"module_size_min"</span><span data-if="cpp" style="display:none">"module_size_min"</span><span data-if="com" style="display:none">"module_size_min"</span><span data-if="dotnet" style="display:none">"module_size_min"</span><span data-if="python" style="display:none">"module_size_min"</span></i>, <i><span data-if="hdevelop" style="display:inline">'module_size_max'</span><span data-if="c" style="display:none">"module_size_max"</span><span data-if="cpp" style="display:none">"module_size_max"</span><span data-if="com" style="display:none">"module_size_max"</span><span data-if="dotnet" style="display:none">"module_size_max"</span><span data-if="python" style="display:none">"module_size_max"</span></i> (Aztec Code, Data Matrix ECC 200, Micro QR Code, QR Code) </td>
<td style="text-align:left">
6 ... 20 pixels </td>
<td style="text-align:left"> 4 (2 for sharp images) ... 100 pixels</td>
<td style="text-align:left">
4 (1 for sharp images) ... 100 pixels</td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'module_size_min'</span><span data-if="c" style="display:none">"module_size_min"</span><span data-if="cpp" style="display:none">"module_size_min"</span><span data-if="com" style="display:none">"module_size_min"</span><span data-if="dotnet" style="display:none">"module_size_min"</span><span data-if="python" style="display:none">"module_size_min"</span></i>, <i><span data-if="hdevelop" style="display:inline">'module_size_max'</span><span data-if="c" style="display:none">"module_size_max"</span><span data-if="cpp" style="display:none">"module_size_max"</span><span data-if="com" style="display:none">"module_size_max"</span><span data-if="dotnet" style="display:none">"module_size_max"</span><span data-if="python" style="display:none">"module_size_max"</span></i> (DotCode) </td>
<td style="text-align:left">
4 ... 100 pixels </td>
<td style="text-align:left"> 2 ... 100 pixels </td>
<td style="text-align:left"> 2 ... 100 pixels</td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'module_width_min'</span><span data-if="c" style="display:none">"module_width_min"</span><span data-if="cpp" style="display:none">"module_width_min"</span><span data-if="com" style="display:none">"module_width_min"</span><span data-if="dotnet" style="display:none">"module_width_min"</span><span data-if="python" style="display:none">"module_width_min"</span></i>, <i><span data-if="hdevelop" style="display:inline">'module_width_max'</span><span data-if="c" style="display:none">"module_width_max"</span><span data-if="cpp" style="display:none">"module_width_max"</span><span data-if="com" style="display:none">"module_width_max"</span><span data-if="dotnet" style="display:none">"module_width_max"</span><span data-if="python" style="display:none">"module_width_max"</span></i> (PDF417) </td>
<td style="text-align:left">  3 ... 15 pixels </td>
<td style="text-align:left">
3 (2 for sharp images) ... 100 pixels </td>
<td style="text-align:left">
3 (1 for sharp images) ... 100 pixels </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'module_aspect_min'</span><span data-if="c" style="display:none">"module_aspect_min"</span><span data-if="cpp" style="display:none">"module_aspect_min"</span><span data-if="com" style="display:none">"module_aspect_min"</span><span data-if="dotnet" style="display:none">"module_aspect_min"</span><span data-if="python" style="display:none">"module_aspect_min"</span></i>, <i><span data-if="hdevelop" style="display:inline">'module_aspect_max'</span><span data-if="c" style="display:none">"module_aspect_max"</span><span data-if="cpp" style="display:none">"module_aspect_max"</span><span data-if="com" style="display:none">"module_aspect_max"</span><span data-if="dotnet" style="display:none">"module_aspect_max"</span><span data-if="python" style="display:none">"module_aspect_max"</span></i> (PDF417) </td>
<td style="text-align:left"> 1 ... 4 </td>
<td style="text-align:left">
1 ... 10 </td>
<td style="text-align:left">  1 ... 10 </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'small_modules_robustness'</span><span data-if="c" style="display:none">"small_modules_robustness"</span><span data-if="cpp" style="display:none">"small_modules_robustness"</span><span data-if="com" style="display:none">"small_modules_robustness"</span><span data-if="dotnet" style="display:none">"small_modules_robustness"</span><span data-if="python" style="display:none">"small_modules_robustness"</span></i> (All code types except DotCode)</td>
<td style="text-align:left"> 'low' </td>
<td style="text-align:left"> 'low' </td>
<td style="text-align:left"> 'high' </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'module_gap_max'</span><span data-if="c" style="display:none">"module_gap_max"</span><span data-if="cpp" style="display:none">"module_gap_max"</span><span data-if="com" style="display:none">"module_gap_max"</span><span data-if="dotnet" style="display:none">"module_gap_max"</span><span data-if="python" style="display:none">"module_gap_max"</span></i> (Aztec Code, Micro QR Code, QR Code) </td>
<td style="text-align:left">
'small' (&lt; 10% of the module size) </td>
<td style="text-align:left">
'big' (&lt; 50% of the module size) </td>
<td style="text-align:left">  'big' (&lt; 50% of the module size)  </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'module_gap_max'</span><span data-if="c" style="display:none">"module_gap_max"</span><span data-if="cpp" style="display:none">"module_gap_max"</span><span data-if="com" style="display:none">"module_gap_max"</span><span data-if="dotnet" style="display:none">"module_gap_max"</span><span data-if="python" style="display:none">"module_gap_max"</span></i> (Data Matrix ECC 200) </td>
<td style="text-align:left">
'no' </td>
<td style="text-align:left"> 'small' (&lt; 10% of the module size) </td>
<td style="text-align:left">  'big' (&lt; 50% of the module size)  </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'module_gap_max'</span><span data-if="c" style="display:none">"module_gap_max"</span><span data-if="cpp" style="display:none">"module_gap_max"</span><span data-if="com" style="display:none">"module_gap_max"</span><span data-if="dotnet" style="display:none">"module_gap_max"</span><span data-if="python" style="display:none">"module_gap_max"</span></i> (DotCode) </td>
<td style="text-align:left">
'no' </td>
<td style="text-align:left"> 'small' (&lt; 10% of the module size) </td>
<td style="text-align:left">  'small' (&lt; 10% of the module size)  </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'slant_max'</span><span data-if="c" style="display:none">"slant_max"</span><span data-if="cpp" style="display:none">"slant_max"</span><span data-if="com" style="display:none">"slant_max"</span><span data-if="dotnet" style="display:none">"slant_max"</span><span data-if="python" style="display:none">"slant_max"</span></i> (Data Matrix ECC 200) </td>
<td style="text-align:left">  0.1745 (10 degree) </td>
<td style="text-align:left">
0.5235 (30 degree) </td>
<td style="text-align:left"> 0.5235 (30 degree) </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'module_grid'</span><span data-if="c" style="display:none">"module_grid"</span><span data-if="cpp" style="display:none">"module_grid"</span><span data-if="com" style="display:none">"module_grid"</span><span data-if="dotnet" style="display:none">"module_grid"</span><span data-if="python" style="display:none">"module_grid"</span></i> (Data Matrix ECC 200) </td>
<td style="text-align:left"> 'fixed' </td>
<td style="text-align:left"> 'any' (fixed or variable) </td>
<td style="text-align:left">
'any' (fixed or variable) </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'finder_pattern_tolerance'</span><span data-if="c" style="display:none">"finder_pattern_tolerance"</span><span data-if="cpp" style="display:none">"finder_pattern_tolerance"</span><span data-if="com" style="display:none">"finder_pattern_tolerance"</span><span data-if="dotnet" style="display:none">"finder_pattern_tolerance"</span><span data-if="python" style="display:none">"finder_pattern_tolerance"</span></i> (Data Matrix ECC 200) </td>
<td style="text-align:left"> 'low' </td>
<td style="text-align:left"> 'low' </td>
<td style="text-align:left"> 'any' </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'contrast_tolerance'</span><span data-if="c" style="display:none">"contrast_tolerance"</span><span data-if="cpp" style="display:none">"contrast_tolerance"</span><span data-if="com" style="display:none">"contrast_tolerance"</span><span data-if="dotnet" style="display:none">"contrast_tolerance"</span><span data-if="python" style="display:none">"contrast_tolerance"</span></i> (Data Matrix ECC 200) </td>
<td style="text-align:left"> 'low' </td>
<td style="text-align:left"> 'low' </td>
<td style="text-align:left"> 'any' </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'candidate_selection'</span><span data-if="c" style="display:none">"candidate_selection"</span><span data-if="cpp" style="display:none">"candidate_selection"</span><span data-if="com" style="display:none">"candidate_selection"</span><span data-if="dotnet" style="display:none">"candidate_selection"</span><span data-if="python" style="display:none">"candidate_selection"</span></i> (Data Matrix ECC 200) </td>
<td style="text-align:left">
'default' </td>
<td style="text-align:left"> 'extensive' </td>
<td style="text-align:left"> 'extensive' </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'candidate_selection'</span><span data-if="c" style="display:none">"candidate_selection"</span><span data-if="cpp" style="display:none">"candidate_selection"</span><span data-if="com" style="display:none">"candidate_selection"</span><span data-if="dotnet" style="display:none">"candidate_selection"</span><span data-if="python" style="display:none">"candidate_selection"</span></i> (DotCode) </td>
<td style="text-align:left">
'default' </td>
<td style="text-align:left"> 'extensive' </td>
<td style="text-align:left"> 'all' </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'finder_pattern_tolerance'</span><span data-if="c" style="display:none">"finder_pattern_tolerance"</span><span data-if="cpp" style="display:none">"finder_pattern_tolerance"</span><span data-if="com" style="display:none">"finder_pattern_tolerance"</span><span data-if="dotnet" style="display:none">"finder_pattern_tolerance"</span><span data-if="python" style="display:none">"finder_pattern_tolerance"</span></i> (Aztec Code) </td>
<td style="text-align:left"> 'low' </td>
<td style="text-align:left"> 'high' </td>
<td style="text-align:left"> 'high' </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'position_pattern_min'</span><span data-if="c" style="display:none">"position_pattern_min"</span><span data-if="cpp" style="display:none">"position_pattern_min"</span><span data-if="com" style="display:none">"position_pattern_min"</span><span data-if="dotnet" style="display:none">"position_pattern_min"</span><span data-if="python" style="display:none">"position_pattern_min"</span></i> (QR Code) </td>
<td style="text-align:left"> 3 </td>
<td style="text-align:left"> 2 </td>
<td style="text-align:left"> 2
</td>
</tr>
</table></div>
<p><b>Modify the data code model</b>
</p>
<p>If it is known that the symbol does not or may not comply with all
of these restrictions (e.g., the symbol is brighter
than the background or the contrast is very low), or if first tests
show that some of the symbols cannot be read with the default
settings, it is possible to adapt single model parameters -
while others are kept to the default - or the whole model can
be extended in a single step by setting the generic parameter
<i><span data-if="hdevelop" style="display:inline">'default_parameters'</span><span data-if="c" style="display:none">"default_parameters"</span><span data-if="cpp" style="display:none">"default_parameters"</span><span data-if="com" style="display:none">"default_parameters"</span><span data-if="dotnet" style="display:none">"default_parameters"</span><span data-if="python" style="display:none">"default_parameters"</span></i> to the value
<i><span data-if="hdevelop" style="display:inline">'enhanced_recognition'</span><span data-if="c" style="display:none">"enhanced_recognition"</span><span data-if="cpp" style="display:none">"enhanced_recognition"</span><span data-if="com" style="display:none">"enhanced_recognition"</span><span data-if="dotnet" style="display:none">"enhanced_recognition"</span><span data-if="python" style="display:none">"enhanced_recognition"</span></i>.
This will lead to a more general model that covers a wider range
of 2D data code symbols.
However, the symbol search with such a general model is more
extensive, hence the run-time of 该算子
<a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> may increase significantly.
This is true especially in the following cases: <em>no</em>
readable data code is detected, the symbol is printed light on dark,
or the modules are very small.
</p>
<p>By setting the generic parameter <i><span data-if="hdevelop" style="display:inline">'default_parameters'</span><span data-if="c" style="display:none">"default_parameters"</span><span data-if="cpp" style="display:none">"default_parameters"</span><span data-if="com" style="display:none">"default_parameters"</span><span data-if="dotnet" style="display:none">"default_parameters"</span><span data-if="python" style="display:none">"default_parameters"</span></i> to
the value <i><span data-if="hdevelop" style="display:inline">'maximum_recognition'</span><span data-if="c" style="display:none">"maximum_recognition"</span><span data-if="cpp" style="display:none">"maximum_recognition"</span><span data-if="com" style="display:none">"maximum_recognition"</span><span data-if="dotnet" style="display:none">"maximum_recognition"</span><span data-if="python" style="display:none">"maximum_recognition"</span></i> the model is further
extended in comparison to <i><span data-if="hdevelop" style="display:inline">'enhanced_recognition'</span><span data-if="c" style="display:none">"enhanced_recognition"</span><span data-if="cpp" style="display:none">"enhanced_recognition"</span><span data-if="com" style="display:none">"enhanced_recognition"</span><span data-if="dotnet" style="display:none">"enhanced_recognition"</span><span data-if="python" style="display:none">"enhanced_recognition"</span></i>, so that
data codes with very small module sizes can be decoded more robustly
(see <i><span data-if="hdevelop" style="display:inline">'small_modules_robustness'</span><span data-if="c" style="display:none">"small_modules_robustness"</span><span data-if="cpp" style="display:none">"small_modules_robustness"</span><span data-if="com" style="display:none">"small_modules_robustness"</span><span data-if="dotnet" style="display:none">"small_modules_robustness"</span><span data-if="python" style="display:none">"small_modules_robustness"</span></i>). For the Data Matrix ECC 200,
the mode <i><span data-if="hdevelop" style="display:inline">'maximum_recognition'</span><span data-if="c" style="display:none">"maximum_recognition"</span><span data-if="cpp" style="display:none">"maximum_recognition"</span><span data-if="com" style="display:none">"maximum_recognition"</span><span data-if="dotnet" style="display:none">"maximum_recognition"</span><span data-if="python" style="display:none">"maximum_recognition"</span></i> differs from the
mode <i><span data-if="hdevelop" style="display:inline">'enhanced_recognition'</span><span data-if="c" style="display:none">"enhanced_recognition"</span><span data-if="cpp" style="display:none">"enhanced_recognition"</span><span data-if="com" style="display:none">"enhanced_recognition"</span><span data-if="dotnet" style="display:none">"enhanced_recognition"</span><span data-if="python" style="display:none">"enhanced_recognition"</span></i> in a way that even symbols with
defect or partially occluded finder patterns can be read (see
<i><span data-if="hdevelop" style="display:inline">'finder_pattern_tolerance'</span><span data-if="c" style="display:none">"finder_pattern_tolerance"</span><span data-if="cpp" style="display:none">"finder_pattern_tolerance"</span><span data-if="com" style="display:none">"finder_pattern_tolerance"</span><span data-if="dotnet" style="display:none">"finder_pattern_tolerance"</span><span data-if="python" style="display:none">"finder_pattern_tolerance"</span></i>). Using this
mode may lead to a further increased run-time and memory usage
of 该算子 <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> during symbol search
and decoding.
</p>
<p>For these reasons, the model should always be specified as exactly
as possible by setting all known parameters.  The model parameters
can be set directly during the creation of the model or later with
the help of 该算子 <a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a>.  Both
operators provide the generic parameters <a href="#GenParamName"><i><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></i></a> and
<a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a> for this purpose. For the Data Matrix ECC 200, for
example, the symbol size should be specified as exactly as possible
if the mode <i><span data-if="hdevelop" style="display:inline">'maximum_recognition'</span><span data-if="c" style="display:none">"maximum_recognition"</span><span data-if="cpp" style="display:none">"maximum_recognition"</span><span data-if="com" style="display:none">"maximum_recognition"</span><span data-if="dotnet" style="display:none">"maximum_recognition"</span><span data-if="python" style="display:none">"maximum_recognition"</span></i> was chosen.  A detailed
description of all supported generic parameters can be found with
该算子 <a href="set_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code></a>.
</p>
<p>Another way for adapting the model is to train it based on sample
images.
Passing the parameter <i><span data-if="hdevelop" style="display:inline">'train'</span><span data-if="c" style="display:none">"train"</span><span data-if="cpp" style="display:none">"train"</span><span data-if="com" style="display:none">"train"</span><span data-if="dotnet" style="display:none">"train"</span><span data-if="python" style="display:none">"train"</span></i> to 该算子
<a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> will cause the find operator to look
for a symbol, determine its parameters, and modify the model
accordingly.
More details can be found with the description of 该算子
<a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a>.
</p>
<p>It is possible to query the model parameters with 该算子
<a href="get_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">get_data_code_2d_param</span><span data-if="c" style="display:none">get_data_code_2d_param</span><span data-if="cpp" style="display:none">GetDataCode2dParam</span><span data-if="com" style="display:none">GetDataCode2dParam</span><span data-if="dotnet" style="display:none">GetDataCode2dParam</span><span data-if="python" style="display:none">get_data_code_2d_param</span></code></a>.
The names of all supported parameters for setting or querying the
model are returned by 该算子 <a href="query_data_code_2d_params.html"><code><span data-if="hdevelop" style="display:inline">query_data_code_2d_params</span><span data-if="c" style="display:none">query_data_code_2d_params</span><span data-if="cpp" style="display:none">QueryDataCode2dParams</span><span data-if="com" style="display:none">QueryDataCode2dParams</span><span data-if="dotnet" style="display:none">QueryDataCode2dParams</span><span data-if="python" style="display:none">query_data_code_2d_params</span></code></a>.
</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  <li>未经并行化处理。</li>
</ul>
<p>This operator returns a handle. Note that the state of an instance of this handle type may be changed by specific operators even though the handle is used as an input parameter by those operators.</p>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="SymbolType" class="parname"><b><code><span data-if="hdevelop" style="display:inline">SymbolType</span><span data-if="c" style="display:none">SymbolType</span><span data-if="cpp" style="display:none">SymbolType</span><span data-if="com" style="display:none">SymbolType</span><span data-if="dotnet" style="display:none">symbolType</span><span data-if="python" style="display:none">symbol_type</span></code></b> (input_control)  </span><span>string <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Type of the 2D data code.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'Data Matrix ECC 200'</span>
    <span data-if="c" style="display:none">"Data Matrix ECC 200"</span>
    <span data-if="cpp" style="display:none">"Data Matrix ECC 200"</span>
    <span data-if="com" style="display:none">"Data Matrix ECC 200"</span>
    <span data-if="dotnet" style="display:none">"Data Matrix ECC 200"</span>
    <span data-if="python" style="display:none">"Data Matrix ECC 200"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'Aztec Code'</span><span data-if="c" style="display:none">"Aztec Code"</span><span data-if="cpp" style="display:none">"Aztec Code"</span><span data-if="com" style="display:none">"Aztec Code"</span><span data-if="dotnet" style="display:none">"Aztec Code"</span><span data-if="python" style="display:none">"Aztec Code"</span>, <span data-if="hdevelop" style="display:inline">'Data Matrix ECC 200'</span><span data-if="c" style="display:none">"Data Matrix ECC 200"</span><span data-if="cpp" style="display:none">"Data Matrix ECC 200"</span><span data-if="com" style="display:none">"Data Matrix ECC 200"</span><span data-if="dotnet" style="display:none">"Data Matrix ECC 200"</span><span data-if="python" style="display:none">"Data Matrix ECC 200"</span>, <span data-if="hdevelop" style="display:inline">'DotCode'</span><span data-if="c" style="display:none">"DotCode"</span><span data-if="cpp" style="display:none">"DotCode"</span><span data-if="com" style="display:none">"DotCode"</span><span data-if="dotnet" style="display:none">"DotCode"</span><span data-if="python" style="display:none">"DotCode"</span>, <span data-if="hdevelop" style="display:inline">'GS1 Aztec Code'</span><span data-if="c" style="display:none">"GS1 Aztec Code"</span><span data-if="cpp" style="display:none">"GS1 Aztec Code"</span><span data-if="com" style="display:none">"GS1 Aztec Code"</span><span data-if="dotnet" style="display:none">"GS1 Aztec Code"</span><span data-if="python" style="display:none">"GS1 Aztec Code"</span>, <span data-if="hdevelop" style="display:inline">'GS1 DataMatrix'</span><span data-if="c" style="display:none">"GS1 DataMatrix"</span><span data-if="cpp" style="display:none">"GS1 DataMatrix"</span><span data-if="com" style="display:none">"GS1 DataMatrix"</span><span data-if="dotnet" style="display:none">"GS1 DataMatrix"</span><span data-if="python" style="display:none">"GS1 DataMatrix"</span>, <span data-if="hdevelop" style="display:inline">'GS1 DotCode'</span><span data-if="c" style="display:none">"GS1 DotCode"</span><span data-if="cpp" style="display:none">"GS1 DotCode"</span><span data-if="com" style="display:none">"GS1 DotCode"</span><span data-if="dotnet" style="display:none">"GS1 DotCode"</span><span data-if="python" style="display:none">"GS1 DotCode"</span>, <span data-if="hdevelop" style="display:inline">'GS1 QR Code'</span><span data-if="c" style="display:none">"GS1 QR Code"</span><span data-if="cpp" style="display:none">"GS1 QR Code"</span><span data-if="com" style="display:none">"GS1 QR Code"</span><span data-if="dotnet" style="display:none">"GS1 QR Code"</span><span data-if="python" style="display:none">"GS1 QR Code"</span>, <span data-if="hdevelop" style="display:inline">'Micro QR Code'</span><span data-if="c" style="display:none">"Micro QR Code"</span><span data-if="cpp" style="display:none">"Micro QR Code"</span><span data-if="com" style="display:none">"Micro QR Code"</span><span data-if="dotnet" style="display:none">"Micro QR Code"</span><span data-if="python" style="display:none">"Micro QR Code"</span>, <span data-if="hdevelop" style="display:inline">'PDF417'</span><span data-if="c" style="display:none">"PDF417"</span><span data-if="cpp" style="display:none">"PDF417"</span><span data-if="com" style="display:none">"PDF417"</span><span data-if="dotnet" style="display:none">"PDF417"</span><span data-if="python" style="display:none">"PDF417"</span>, <span data-if="hdevelop" style="display:inline">'QR Code'</span><span data-if="c" style="display:none">"QR Code"</span><span data-if="cpp" style="display:none">"QR Code"</span><span data-if="com" style="display:none">"QR Code"</span><span data-if="dotnet" style="display:none">"QR Code"</span><span data-if="python" style="display:none">"QR Code"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamName" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></b> (input_control)  </span><span>attribute.name(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[str]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Names of the generic parameters that can be
adjusted for the 2D data code model.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>[]</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'additional_levels'</span><span data-if="c" style="display:none">"additional_levels"</span><span data-if="cpp" style="display:none">"additional_levels"</span><span data-if="com" style="display:none">"additional_levels"</span><span data-if="dotnet" style="display:none">"additional_levels"</span><span data-if="python" style="display:none">"additional_levels"</span>, <span data-if="hdevelop" style="display:inline">'candidate_selection'</span><span data-if="c" style="display:none">"candidate_selection"</span><span data-if="cpp" style="display:none">"candidate_selection"</span><span data-if="com" style="display:none">"candidate_selection"</span><span data-if="dotnet" style="display:none">"candidate_selection"</span><span data-if="python" style="display:none">"candidate_selection"</span>, <span data-if="hdevelop" style="display:inline">'contrast_min'</span><span data-if="c" style="display:none">"contrast_min"</span><span data-if="cpp" style="display:none">"contrast_min"</span><span data-if="com" style="display:none">"contrast_min"</span><span data-if="dotnet" style="display:none">"contrast_min"</span><span data-if="python" style="display:none">"contrast_min"</span>, <span data-if="hdevelop" style="display:inline">'contrast_tolerance'</span><span data-if="c" style="display:none">"contrast_tolerance"</span><span data-if="cpp" style="display:none">"contrast_tolerance"</span><span data-if="com" style="display:none">"contrast_tolerance"</span><span data-if="dotnet" style="display:none">"contrast_tolerance"</span><span data-if="python" style="display:none">"contrast_tolerance"</span>, <span data-if="hdevelop" style="display:inline">'default_parameters'</span><span data-if="c" style="display:none">"default_parameters"</span><span data-if="cpp" style="display:none">"default_parameters"</span><span data-if="com" style="display:none">"default_parameters"</span><span data-if="dotnet" style="display:none">"default_parameters"</span><span data-if="python" style="display:none">"default_parameters"</span>, <span data-if="hdevelop" style="display:inline">'finder_pattern_tolerance'</span><span data-if="c" style="display:none">"finder_pattern_tolerance"</span><span data-if="cpp" style="display:none">"finder_pattern_tolerance"</span><span data-if="com" style="display:none">"finder_pattern_tolerance"</span><span data-if="dotnet" style="display:none">"finder_pattern_tolerance"</span><span data-if="python" style="display:none">"finder_pattern_tolerance"</span>, <span data-if="hdevelop" style="display:inline">'mirrored'</span><span data-if="c" style="display:none">"mirrored"</span><span data-if="cpp" style="display:none">"mirrored"</span><span data-if="com" style="display:none">"mirrored"</span><span data-if="dotnet" style="display:none">"mirrored"</span><span data-if="python" style="display:none">"mirrored"</span>, <span data-if="hdevelop" style="display:inline">'model_type'</span><span data-if="c" style="display:none">"model_type"</span><span data-if="cpp" style="display:none">"model_type"</span><span data-if="com" style="display:none">"model_type"</span><span data-if="dotnet" style="display:none">"model_type"</span><span data-if="python" style="display:none">"model_type"</span>, <span data-if="hdevelop" style="display:inline">'module_aspect'</span><span data-if="c" style="display:none">"module_aspect"</span><span data-if="cpp" style="display:none">"module_aspect"</span><span data-if="com" style="display:none">"module_aspect"</span><span data-if="dotnet" style="display:none">"module_aspect"</span><span data-if="python" style="display:none">"module_aspect"</span>, <span data-if="hdevelop" style="display:inline">'module_aspect_max'</span><span data-if="c" style="display:none">"module_aspect_max"</span><span data-if="cpp" style="display:none">"module_aspect_max"</span><span data-if="com" style="display:none">"module_aspect_max"</span><span data-if="dotnet" style="display:none">"module_aspect_max"</span><span data-if="python" style="display:none">"module_aspect_max"</span>, <span data-if="hdevelop" style="display:inline">'module_aspect_min'</span><span data-if="c" style="display:none">"module_aspect_min"</span><span data-if="cpp" style="display:none">"module_aspect_min"</span><span data-if="com" style="display:none">"module_aspect_min"</span><span data-if="dotnet" style="display:none">"module_aspect_min"</span><span data-if="python" style="display:none">"module_aspect_min"</span>, <span data-if="hdevelop" style="display:inline">'module_gap'</span><span data-if="c" style="display:none">"module_gap"</span><span data-if="cpp" style="display:none">"module_gap"</span><span data-if="com" style="display:none">"module_gap"</span><span data-if="dotnet" style="display:none">"module_gap"</span><span data-if="python" style="display:none">"module_gap"</span>, <span data-if="hdevelop" style="display:inline">'module_gap_max'</span><span data-if="c" style="display:none">"module_gap_max"</span><span data-if="cpp" style="display:none">"module_gap_max"</span><span data-if="com" style="display:none">"module_gap_max"</span><span data-if="dotnet" style="display:none">"module_gap_max"</span><span data-if="python" style="display:none">"module_gap_max"</span>, <span data-if="hdevelop" style="display:inline">'module_gap_min'</span><span data-if="c" style="display:none">"module_gap_min"</span><span data-if="cpp" style="display:none">"module_gap_min"</span><span data-if="com" style="display:none">"module_gap_min"</span><span data-if="dotnet" style="display:none">"module_gap_min"</span><span data-if="python" style="display:none">"module_gap_min"</span>, <span data-if="hdevelop" style="display:inline">'module_grid'</span><span data-if="c" style="display:none">"module_grid"</span><span data-if="cpp" style="display:none">"module_grid"</span><span data-if="com" style="display:none">"module_grid"</span><span data-if="dotnet" style="display:none">"module_grid"</span><span data-if="python" style="display:none">"module_grid"</span>, <span data-if="hdevelop" style="display:inline">'module_size'</span><span data-if="c" style="display:none">"module_size"</span><span data-if="cpp" style="display:none">"module_size"</span><span data-if="com" style="display:none">"module_size"</span><span data-if="dotnet" style="display:none">"module_size"</span><span data-if="python" style="display:none">"module_size"</span>, <span data-if="hdevelop" style="display:inline">'module_size_max'</span><span data-if="c" style="display:none">"module_size_max"</span><span data-if="cpp" style="display:none">"module_size_max"</span><span data-if="com" style="display:none">"module_size_max"</span><span data-if="dotnet" style="display:none">"module_size_max"</span><span data-if="python" style="display:none">"module_size_max"</span>, <span data-if="hdevelop" style="display:inline">'module_size_min'</span><span data-if="c" style="display:none">"module_size_min"</span><span data-if="cpp" style="display:none">"module_size_min"</span><span data-if="com" style="display:none">"module_size_min"</span><span data-if="dotnet" style="display:none">"module_size_min"</span><span data-if="python" style="display:none">"module_size_min"</span>, <span data-if="hdevelop" style="display:inline">'module_width'</span><span data-if="c" style="display:none">"module_width"</span><span data-if="cpp" style="display:none">"module_width"</span><span data-if="com" style="display:none">"module_width"</span><span data-if="dotnet" style="display:none">"module_width"</span><span data-if="python" style="display:none">"module_width"</span>, <span data-if="hdevelop" style="display:inline">'module_width_max'</span><span data-if="c" style="display:none">"module_width_max"</span><span data-if="cpp" style="display:none">"module_width_max"</span><span data-if="com" style="display:none">"module_width_max"</span><span data-if="dotnet" style="display:none">"module_width_max"</span><span data-if="python" style="display:none">"module_width_max"</span>, <span data-if="hdevelop" style="display:inline">'module_width_min'</span><span data-if="c" style="display:none">"module_width_min"</span><span data-if="cpp" style="display:none">"module_width_min"</span><span data-if="com" style="display:none">"module_width_min"</span><span data-if="dotnet" style="display:none">"module_width_min"</span><span data-if="python" style="display:none">"module_width_min"</span>, <span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span>, <span data-if="hdevelop" style="display:inline">'polarity'</span><span data-if="c" style="display:none">"polarity"</span><span data-if="cpp" style="display:none">"polarity"</span><span data-if="com" style="display:none">"polarity"</span><span data-if="dotnet" style="display:none">"polarity"</span><span data-if="python" style="display:none">"polarity"</span>, <span data-if="hdevelop" style="display:inline">'position_pattern_min'</span><span data-if="c" style="display:none">"position_pattern_min"</span><span data-if="cpp" style="display:none">"position_pattern_min"</span><span data-if="com" style="display:none">"position_pattern_min"</span><span data-if="dotnet" style="display:none">"position_pattern_min"</span><span data-if="python" style="display:none">"position_pattern_min"</span>, <span data-if="hdevelop" style="display:inline">'slant_max'</span><span data-if="c" style="display:none">"slant_max"</span><span data-if="cpp" style="display:none">"slant_max"</span><span data-if="com" style="display:none">"slant_max"</span><span data-if="dotnet" style="display:none">"slant_max"</span><span data-if="python" style="display:none">"slant_max"</span>, <span data-if="hdevelop" style="display:inline">'small_modules_robustness'</span><span data-if="c" style="display:none">"small_modules_robustness"</span><span data-if="cpp" style="display:none">"small_modules_robustness"</span><span data-if="com" style="display:none">"small_modules_robustness"</span><span data-if="dotnet" style="display:none">"small_modules_robustness"</span><span data-if="python" style="display:none">"small_modules_robustness"</span>, <span data-if="hdevelop" style="display:inline">'strict_model'</span><span data-if="c" style="display:none">"strict_model"</span><span data-if="cpp" style="display:none">"strict_model"</span><span data-if="com" style="display:none">"strict_model"</span><span data-if="dotnet" style="display:none">"strict_model"</span><span data-if="python" style="display:none">"strict_model"</span>, <span data-if="hdevelop" style="display:inline">'strict_quiet_zone'</span><span data-if="c" style="display:none">"strict_quiet_zone"</span><span data-if="cpp" style="display:none">"strict_quiet_zone"</span><span data-if="com" style="display:none">"strict_quiet_zone"</span><span data-if="dotnet" style="display:none">"strict_quiet_zone"</span><span data-if="python" style="display:none">"strict_quiet_zone"</span>, <span data-if="hdevelop" style="display:inline">'symbol_cols'</span><span data-if="c" style="display:none">"symbol_cols"</span><span data-if="cpp" style="display:none">"symbol_cols"</span><span data-if="com" style="display:none">"symbol_cols"</span><span data-if="dotnet" style="display:none">"symbol_cols"</span><span data-if="python" style="display:none">"symbol_cols"</span>, <span data-if="hdevelop" style="display:inline">'symbol_cols_max'</span><span data-if="c" style="display:none">"symbol_cols_max"</span><span data-if="cpp" style="display:none">"symbol_cols_max"</span><span data-if="com" style="display:none">"symbol_cols_max"</span><span data-if="dotnet" style="display:none">"symbol_cols_max"</span><span data-if="python" style="display:none">"symbol_cols_max"</span>, <span data-if="hdevelop" style="display:inline">'symbol_cols_min'</span><span data-if="c" style="display:none">"symbol_cols_min"</span><span data-if="cpp" style="display:none">"symbol_cols_min"</span><span data-if="com" style="display:none">"symbol_cols_min"</span><span data-if="dotnet" style="display:none">"symbol_cols_min"</span><span data-if="python" style="display:none">"symbol_cols_min"</span>, <span data-if="hdevelop" style="display:inline">'symbol_rows'</span><span data-if="c" style="display:none">"symbol_rows"</span><span data-if="cpp" style="display:none">"symbol_rows"</span><span data-if="com" style="display:none">"symbol_rows"</span><span data-if="dotnet" style="display:none">"symbol_rows"</span><span data-if="python" style="display:none">"symbol_rows"</span>, <span data-if="hdevelop" style="display:inline">'symbol_rows_max'</span><span data-if="c" style="display:none">"symbol_rows_max"</span><span data-if="cpp" style="display:none">"symbol_rows_max"</span><span data-if="com" style="display:none">"symbol_rows_max"</span><span data-if="dotnet" style="display:none">"symbol_rows_max"</span><span data-if="python" style="display:none">"symbol_rows_max"</span>, <span data-if="hdevelop" style="display:inline">'symbol_rows_min'</span><span data-if="c" style="display:none">"symbol_rows_min"</span><span data-if="cpp" style="display:none">"symbol_rows_min"</span><span data-if="com" style="display:none">"symbol_rows_min"</span><span data-if="dotnet" style="display:none">"symbol_rows_min"</span><span data-if="python" style="display:none">"symbol_rows_min"</span>, <span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span>, <span data-if="hdevelop" style="display:inline">'symbol_size'</span><span data-if="c" style="display:none">"symbol_size"</span><span data-if="cpp" style="display:none">"symbol_size"</span><span data-if="com" style="display:none">"symbol_size"</span><span data-if="dotnet" style="display:none">"symbol_size"</span><span data-if="python" style="display:none">"symbol_size"</span>, <span data-if="hdevelop" style="display:inline">'symbol_size_max'</span><span data-if="c" style="display:none">"symbol_size_max"</span><span data-if="cpp" style="display:none">"symbol_size_max"</span><span data-if="com" style="display:none">"symbol_size_max"</span><span data-if="dotnet" style="display:none">"symbol_size_max"</span><span data-if="python" style="display:none">"symbol_size_max"</span>, <span data-if="hdevelop" style="display:inline">'symbol_size_min'</span><span data-if="c" style="display:none">"symbol_size_min"</span><span data-if="cpp" style="display:none">"symbol_size_min"</span><span data-if="com" style="display:none">"symbol_size_min"</span><span data-if="dotnet" style="display:none">"symbol_size_min"</span><span data-if="python" style="display:none">"symbol_size_min"</span>, <span data-if="hdevelop" style="display:inline">'timeout'</span><span data-if="c" style="display:none">"timeout"</span><span data-if="cpp" style="display:none">"timeout"</span><span data-if="com" style="display:none">"timeout"</span><span data-if="dotnet" style="display:none">"timeout"</span><span data-if="python" style="display:none">"timeout"</span>, <span data-if="hdevelop" style="display:inline">'version'</span><span data-if="c" style="display:none">"version"</span><span data-if="cpp" style="display:none">"version"</span><span data-if="com" style="display:none">"version"</span><span data-if="dotnet" style="display:none">"version"</span><span data-if="python" style="display:none">"version"</span>, <span data-if="hdevelop" style="display:inline">'version_max'</span><span data-if="c" style="display:none">"version_max"</span><span data-if="cpp" style="display:none">"version_max"</span><span data-if="com" style="display:none">"version_max"</span><span data-if="dotnet" style="display:none">"version_max"</span><span data-if="python" style="display:none">"version_max"</span>, <span data-if="hdevelop" style="display:inline">'version_min'</span><span data-if="c" style="display:none">"version_min"</span><span data-if="cpp" style="display:none">"version_min"</span><span data-if="com" style="display:none">"version_min"</span><span data-if="dotnet" style="display:none">"version_min"</span><span data-if="python" style="display:none">"version_min"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamValue" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></b> (input_control)  </span><span>attribute.value(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[Union[int, str, float]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string / </span><span data-if="hdevelop" style="display:inline">integer / </span><span data-if="hdevelop" style="display:inline">real)</span><span data-if="dotnet" style="display:none"> (<i>string</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long / </span><span data-if="dotnet" style="display:none">double)</span><span data-if="cpp" style="display:none"> (<i>HString</i> / </span><span data-if="cpp" style="display:none">Hlong / </span><span data-if="cpp" style="display:none">double)</span><span data-if="c" style="display:none"> (<i>char*</i> / </span><span data-if="c" style="display:none">Hlong / </span><span data-if="c" style="display:none">double)</span></span>
</div>
<p class="pardesc">Values of the generic parameters that can be
adjusted for the 2D data code model.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>[]</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span><span data-if="hdevelop" style="display:inline">'standard_recognition'</span><span data-if="c" style="display:none">"standard_recognition"</span><span data-if="cpp" style="display:none">"standard_recognition"</span><span data-if="com" style="display:none">"standard_recognition"</span><span data-if="dotnet" style="display:none">"standard_recognition"</span><span data-if="python" style="display:none">"standard_recognition"</span>, <span data-if="hdevelop" style="display:inline">'enhanced_recognition'</span><span data-if="c" style="display:none">"enhanced_recognition"</span><span data-if="cpp" style="display:none">"enhanced_recognition"</span><span data-if="com" style="display:none">"enhanced_recognition"</span><span data-if="dotnet" style="display:none">"enhanced_recognition"</span><span data-if="python" style="display:none">"enhanced_recognition"</span>, <span data-if="hdevelop" style="display:inline">'maximum_recognition'</span><span data-if="c" style="display:none">"maximum_recognition"</span><span data-if="cpp" style="display:none">"maximum_recognition"</span><span data-if="com" style="display:none">"maximum_recognition"</span><span data-if="dotnet" style="display:none">"maximum_recognition"</span><span data-if="python" style="display:none">"maximum_recognition"</span>, <span data-if="hdevelop" style="display:inline">'yes'</span><span data-if="c" style="display:none">"yes"</span><span data-if="cpp" style="display:none">"yes"</span><span data-if="com" style="display:none">"yes"</span><span data-if="dotnet" style="display:none">"yes"</span><span data-if="python" style="display:none">"yes"</span>, <span data-if="hdevelop" style="display:inline">'no'</span><span data-if="c" style="display:none">"no"</span><span data-if="cpp" style="display:none">"no"</span><span data-if="com" style="display:none">"no"</span><span data-if="dotnet" style="display:none">"no"</span><span data-if="python" style="display:none">"no"</span>, <span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span>, <span data-if="hdevelop" style="display:inline">'dark_on_light'</span><span data-if="c" style="display:none">"dark_on_light"</span><span data-if="cpp" style="display:none">"dark_on_light"</span><span data-if="com" style="display:none">"dark_on_light"</span><span data-if="dotnet" style="display:none">"dark_on_light"</span><span data-if="python" style="display:none">"dark_on_light"</span>, <span data-if="hdevelop" style="display:inline">'light_on_dark'</span><span data-if="c" style="display:none">"light_on_dark"</span><span data-if="cpp" style="display:none">"light_on_dark"</span><span data-if="com" style="display:none">"light_on_dark"</span><span data-if="dotnet" style="display:none">"light_on_dark"</span><span data-if="python" style="display:none">"light_on_dark"</span>, <span data-if="hdevelop" style="display:inline">'square'</span><span data-if="c" style="display:none">"square"</span><span data-if="cpp" style="display:none">"square"</span><span data-if="com" style="display:none">"square"</span><span data-if="dotnet" style="display:none">"square"</span><span data-if="python" style="display:none">"square"</span>, <span data-if="hdevelop" style="display:inline">'rectangle'</span><span data-if="c" style="display:none">"rectangle"</span><span data-if="cpp" style="display:none">"rectangle"</span><span data-if="com" style="display:none">"rectangle"</span><span data-if="dotnet" style="display:none">"rectangle"</span><span data-if="python" style="display:none">"rectangle"</span>, <span data-if="hdevelop" style="display:inline">'small'</span><span data-if="c" style="display:none">"small"</span><span data-if="cpp" style="display:none">"small"</span><span data-if="com" style="display:none">"small"</span><span data-if="dotnet" style="display:none">"small"</span><span data-if="python" style="display:none">"small"</span>, <span data-if="hdevelop" style="display:inline">'big'</span><span data-if="c" style="display:none">"big"</span><span data-if="cpp" style="display:none">"big"</span><span data-if="com" style="display:none">"big"</span><span data-if="dotnet" style="display:none">"big"</span><span data-if="python" style="display:none">"big"</span>, <span data-if="hdevelop" style="display:inline">'fixed'</span><span data-if="c" style="display:none">"fixed"</span><span data-if="cpp" style="display:none">"fixed"</span><span data-if="com" style="display:none">"fixed"</span><span data-if="dotnet" style="display:none">"fixed"</span><span data-if="python" style="display:none">"fixed"</span>, <span data-if="hdevelop" style="display:inline">'variable'</span><span data-if="c" style="display:none">"variable"</span><span data-if="cpp" style="display:none">"variable"</span><span data-if="com" style="display:none">"variable"</span><span data-if="dotnet" style="display:none">"variable"</span><span data-if="python" style="display:none">"variable"</span>, <span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span>, <span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span>, <span data-if="hdevelop" style="display:inline">'default'</span><span data-if="c" style="display:none">"default"</span><span data-if="cpp" style="display:none">"default"</span><span data-if="com" style="display:none">"default"</span><span data-if="dotnet" style="display:none">"default"</span><span data-if="python" style="display:none">"default"</span>, <span data-if="hdevelop" style="display:inline">'extensive'</span><span data-if="c" style="display:none">"extensive"</span><span data-if="cpp" style="display:none">"extensive"</span><span data-if="com" style="display:none">"extensive"</span><span data-if="dotnet" style="display:none">"extensive"</span><span data-if="python" style="display:none">"extensive"</span>, 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 30, 50, 70, 90, 12, 14, 16, 18, 20, 22, 24, 26, 32, 36, 40, 44, 48, 52, 64, 72, 80, 88, 96, 104, 120, 132, 144</p>
</div>
  <div class="par">
<div class="parhead">
<span id="DataCodeHandle" class="parname"><b><code><span data-if="hdevelop" style="display:inline">DataCodeHandle</span><span data-if="c" style="display:none">DataCodeHandle</span><span data-if="cpp" style="display:none">DataCodeHandle</span><span data-if="com" style="display:none">DataCodeHandle</span><span data-if="dotnet" style="display:none">dataCodeHandle</span><span data-if="python" style="display:none">data_code_handle</span></code></b> (output_control)  </span><span>datacode_2d <code>→</code> <span data-if="dotnet" style="display:none"><a href="HDataCode2D.html">HDataCode2D</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle for using and accessing the 2D data code model.</p>
</div>
<h2 id="sec_example_all">例程 (HDevelop)</h2>
<pre class="example">
* Two simple examples that show the use of create_data_code_2d_model
* to detect a Data matrix ECC 200 code and a QR Code.

* (1) Create a model for reading simple QR Codes
*     (only dark symbols on a light background will be read)
create_data_code_2d_model ('QR Code', [], [], DataCodeHandle)
* Read an image
read_image (Image, 'datacode/qrcode/qr_workpiece_01')
* Read the symbol in the image
find_data_code_2d (Image, SymbolXLDs, DataCodeHandle, [], [], \
                   ResultHandles, DecodedDataStrings)
* Clear the model
clear_data_code_2d_model (DataCodeHandle)

* (2) Create a model for reading a wide range of Data matrix ECC 200 codes
*     (this model will also read light symbols on dark background)
create_data_code_2d_model ('Data Matrix ECC 200', 'default_parameters', \
                           'enhanced_recognition', DataCodeHandle)
* Read an image
read_image (Image, 'datacode/ecc200/ecc200_cpu_010')
* Read the symbol in the image
find_data_code_2d (Image, SymbolXLDs, DataCodeHandle, [], [], \
                   ResultHandles, DecodedDataStrings)
* Clear the model
clear_data_code_2d_model (DataCodeHandle)
</pre>
<h2 id="sec_result">结果</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">create_data_code_2d_model</span><span data-if="c" style="display:none">create_data_code_2d_model</span><span data-if="cpp" style="display:none">CreateDataCode2dModel</span><span data-if="com" style="display:none">CreateDataCode2dModel</span><span data-if="dotnet" style="display:none">CreateDataCode2dModel</span><span data-if="python" style="display:none">create_data_code_2d_model</span></code> 返回值 <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
    
if the given parameters are correct.
Otherwise, an exception is raised.</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="set_data_code_2d_param.html"><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></a></code>, 
<code><a href="find_data_code_2d.html"><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></a></code>
</p>
<h2 id="sec_alternatives">可替代算子</h2>
<p>
<code><a href="read_data_code_2d_model.html"><span data-if="hdevelop" style="display:inline">read_data_code_2d_model</span><span data-if="c" style="display:none">read_data_code_2d_model</span><span data-if="cpp" style="display:none">ReadDataCode2dModel</span><span data-if="com" style="display:none">ReadDataCode2dModel</span><span data-if="dotnet" style="display:none">ReadDataCode2dModel</span><span data-if="python" style="display:none">read_data_code_2d_model</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="clear_data_code_2d_model.html"><span data-if="hdevelop" style="display:inline">clear_data_code_2d_model</span><span data-if="c" style="display:none">clear_data_code_2d_model</span><span data-if="cpp" style="display:none">ClearDataCode2dModel</span><span data-if="com" style="display:none">ClearDataCode2dModel</span><span data-if="dotnet" style="display:none">ClearDataCode2dModel</span><span data-if="python" style="display:none">clear_data_code_2d_model</span></a></code>
</p>
<h2 id="sec_references">References</h2>
<p>

International Standard ISO/IEC 16022: “Information technology -
Automatic identification and data capture techniques -
Data Matrix bar code symbology specification”;
Reference number ISO/IEC 16022:2006 (E);
ISO/IEC 2006.<br>

<br>
International Standard ISO/IEC 15438: “Information technology -
Automatic identification and data capture techniques -
PDF417 bar code symbology specification”;
Reference number ISO/IEC 15438:2006 (E);
ISO/IEC 2006.<br>

<br>
International Standard ISO/IEC 18004: “Information technology -
Automatic identification and data capture techniques -
QR Code 2005 bar code symbology specification”;
Reference number ISO/IEC 18004:2006 (E);
ISO/IEC 2006.<br>

<br>
International Standard ISO/IEC 24778: “Information technology -
Automatic identification and data capture techniques -
Aztec Code bar code symbology specification”;
Reference number ISO/IEC 24778:2008 (E);
ISO/IEC 2008.<br>

<br>
GS1 General Specifications; Version 12; Issue 1, Jan-2012; GS1.
<br>

</p>
<h2 id="sec_module">模块</h2>
<p>
Data Code</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
